The present invention relates to the Extensible Markup Language (XML) data processing technical field, and more specifically, to a technique for improving generation and query of binary XML data.
XML is a data description language with a powerful data describing capability and a self-description feature, so that an XML data source is readable by both humans and machines. The features of XML techniques and standardization of related techniques make XML widely used in fields such as web or internet applications. XML is a general format for data exchange between different systems and automated systems with XML as an interface. However, XML techniques may be very complex, causing a considerable workload to be introduced to the system by processing XML. Further, network overhead between the systems is also increased by the redundancy of XML data. When XML is used as a data transmission format, XML compression techniques may be viable options for reducing data redundancy in order to improve bandwidth utilization, but may further increase the operating load of a local machine. An alternative in a resource-limited computing system is to use binary XML.
Binary XML is a compact binary expression form of XML data, and thus notably reduces redundancy of the XML data, such that parsing of XML data becomes easier, the operating load of system for processing XML data is alleviated, and bandwidth occupied by XML data transmission is reduced. Binary XML was initially proposed and used in the wireless application field, and may have different specifications, such as: WBXML (wireless application protocol binary XML), Fast Infoset (X.891) and EXI (Efficient XML Interchange). Along with its use in systems with limited resources, many systems requiring high performance (e.g., databases) also use binary XML to transmit the XML data and to perform XML data processing.
Although binary XML may reduce redundancy of the XML data, its use may result in an increase in processing time. When processing a query request for binary XML to navigate to a node (or an element) therein, each of the nodes (including element nodes and non-element nodes) in the binary XML data source needs to be traversed one by one. This may greatly reduce the efficiency of navigating to the node and may prolong the time for a corresponding query request when the XML data source has a large number of nodes and a complex tree relation.